﻿using System.Web;

namespace Sex
{
    public partial class Sex : System.Web.UI.Page
    {
        // http://msdn.microsoft.com/en-us/library/3yekbd5b.aspx
        // http://msdn.microsoft.com/en-us/library/ms228122.aspx (Browser Definition File Schema)
        public class ListBrowser : MyList
        {
            HttpBrowserCapabilities bc;

            public ListBrowser(State MyState)
                : base(MyState, "Browser Object")
            {
                HttpContext myHttpContext = HttpContext.Current;
                bc = myHttpContext.Request.Browser;

                Add("Browser.ActiveXControls", bc.ActiveXControls.ToString());
                Add("Browser.Adapters", GetDictionary(bc.Adapters));
                Add("Browser.AOL", bc.AOL.ToString());
                Add("Browser.BackgroundSounds", bc.BackgroundSounds.ToString());
                Add("Browser.Beta", bc.Beta.ToString());
                Add("Browser.Browser", bc.Browser);
                Add("Browser.Browsers.Count", bc.Browsers.Count.ToString());
                Add("Browser.Browsers", GetArrayList(bc.Browsers));
                Add("Browser.CanCombineFormsInDeck", bc.CanCombineFormsInDeck.ToString());
                Add("Browser.CanInitiateVoiceCall", bc.CanInitiateVoiceCall.ToString());
                Add("Browser.CanRenderAfterInputOrSelectElement", bc.CanRenderAfterInputOrSelectElement.ToString());
                Add("Browser.CanRenderEmptySelects", bc.CanRenderEmptySelects.ToString());
                Add("Browser.CanRenderInputAndSelectElementsTogether", bc.CanRenderInputAndSelectElementsTogether.ToString());
                Add("Browser.CanRenderMixedSelects", bc.CanRenderMixedSelects.ToString());
                Add("Browser.CanRenderOneventAndPrevElementsTogether", bc.CanRenderOneventAndPrevElementsTogether.ToString());
                Add("Browser.CanRenderPostBackCards", bc.CanRenderPostBackCards.ToString());
                Add("Browser.CanRenderSetvarZeroWithMultiSelectionList", bc.CanRenderSetvarZeroWithMultiSelectionList.ToString());
                Add("Browser.CanSendMail", bc.CanSendMail.ToString());
                Add("Browser.Capabilities[\"\"]", bc.Capabilities[""].ToString());
                Add("Browser.Capabilities", GetDictionary(bc.Capabilities)); 
                Add("Browser.CDF", bc.CDF.ToString());
                Add("Browser.ClrVersion", bc.ClrVersion.ToString());
                Add("Browser.Cookies", bc.Cookies.ToString());
                Add("Browser.Crawler", bc.Crawler.ToString());
                Add("Browser.DefaultSubmitButtonLimit", bc.DefaultSubmitButtonLimit.ToString());
                Add("Browser.EcmaScriptVersion", bc.EcmaScriptVersion.ToString());
                Add("Browser.Frames", bc.Frames.ToString());
                Add("Browser.GatewayMajorVersion", bc.GatewayMajorVersion.ToString());
                Add("Browser.GatewayMinorVersion", bc.GatewayMinorVersion.ToString());
                Add("Browser.GatewayVersion", bc.GatewayVersion.ToString());
                Add("Browser.HasBackButton", bc.HasBackButton.ToString());
                Add("Browser.HidesRightAlignedMultiselectScrollbars", bc.HidesRightAlignedMultiselectScrollbars.ToString());
                Add("Browser.HtmlTextWriter", bc.HtmlTextWriter);
                Add("Browser.Id", bc.Id.ToString());
                Add("Browser.InputType", bc.InputType.ToString());
                Add("Browser.IsColor", bc.IsColor.ToString());
                Add("Browser.IsMobileDevice", bc.IsMobileDevice.ToString());
                Add("Browser.JavaApplets", bc.JavaApplets.ToString());
                Add("Browser.JavaScript (use ECMASCRIPT)", bc.JavaScript.ToString());
                Add("Browser.JScriptVersion (use ECMASCRIPT)", bc.JScriptVersion.ToString());
                Add("Browser.MajorVersion", bc.MajorVersion.ToString());
                Add("Browser.MaximumHrefLength", bc.MaximumHrefLength.ToString());
                Add("Browser.MaximumRenderedPageSize", bc.MaximumRenderedPageSize.ToString());
                Add("Browser.MaximumSoftkeyLabelLength", bc.MaximumSoftkeyLabelLength.ToString());
                Add("Browser.MinorVersion", bc.MinorVersion.ToString());
                Add("Browser.MinorVersionString", bc.MinorVersionString.ToString());
                Add("Browser.MobileDeviceManufacturer", bc.MobileDeviceManufacturer.ToString());
                Add("Browser.MobileDeviceModel", bc.MobileDeviceModel.ToString());
                Add("Browser.MSDomVersion", bc.MSDomVersion.ToString());
                Add("Browser.NumberOfSoftkeys", bc.NumberOfSoftkeys.ToString());
                Add("Browser.Platform", bc.Platform.ToString());
                Add("Browser.PreferredImageMime", bc.PreferredImageMime.ToString());
                Add("Browser.PreferredRenderingMime", bc.PreferredRenderingMime.ToString());
                Add("Browser.PreferredRenderingType", bc.PreferredRenderingType.ToString());
                Add("Browser.PreferredRequestEncoding", bc.PreferredRequestEncoding);
                Add("Browser.PreferredResponseEncoding", bc.PreferredResponseEncoding);
                Add("Browser.RendersBreakBeforeWmlSelectAndInput", bc.RendersBreakBeforeWmlSelectAndInput.ToString());
                Add("Browser.RendersBreaksAfterHtmlLists", bc.RendersBreaksAfterHtmlLists.ToString());
                Add("Browser.RendersBreaksAfterWmlAnchor", bc.RendersBreaksAfterWmlAnchor.ToString());
                Add("Browser.RendersBreaksAfterWmlInput", bc.RendersBreaksAfterWmlInput.ToString());
                Add("Browser.RendersWmlDoAcceptsInline", bc.RendersWmlDoAcceptsInline.ToString());
                Add("Browser.RendersWmlSelectsAsMenuCards", bc.RendersWmlSelectsAsMenuCards.ToString());
                Add("Browser.RequiredMetaTagNameValue", bc.RequiredMetaTagNameValue);
                Add("Browser.RequiresAttributeColonSubstitution", bc.RequiresAttributeColonSubstitution.ToString());
                Add("Browser.RequiresContentTypeMetaTag", bc.RequiresContentTypeMetaTag.ToString());
                Add("Browser.RequiresControlStateInSession", bc.RequiresControlStateInSession.ToString());
                Add("Browser.RequiresDBCSCharacter", bc.RequiresDBCSCharacter.ToString());
                Add("Browser.RequiresHtmlAdaptiveErrorReporting", bc.RequiresHtmlAdaptiveErrorReporting.ToString());
                Add("Browser.RequiresLeadingPageBreak", bc.RequiresLeadingPageBreak.ToString());
                Add("Browser.RequiresNoBreakInFormatting", bc.RequiresNoBreakInFormatting.ToString());
                Add("Browser.RequiresOutputOptimization", bc.RequiresOutputOptimization.ToString());
                Add("Browser.RequiresPhoneNumbersAsPlainText", bc.RequiresPhoneNumbersAsPlainText.ToString());
                Add("Browser.RequiresSpecialViewStateEncoding", bc.RequiresSpecialViewStateEncoding.ToString());
                Add("Browser.RequiresUniqueFilePathSuffix", bc.RequiresUniqueFilePathSuffix.ToString());
                Add("Browser.RequiresUniqueHtmlCheckboxNames", bc.RequiresUniqueHtmlCheckboxNames.ToString());
                Add("Browser.RequiresUniqueHtmlInputNames", bc.RequiresUniqueHtmlInputNames.ToString());
                Add("Browser.RequiresUrlEncodedPostfieldValues", bc.RequiresUrlEncodedPostfieldValues.ToString());
                Add("Browser.ScreenBitDepth", bc.ScreenBitDepth.ToString());
                Add("Browser.ScreenCharactersHeight", bc.ScreenCharactersHeight.ToString());
                Add("Browser.ScreenCharactersWidth", bc.ScreenCharactersWidth.ToString());
                Add("Browser.ScreenPixelsHeight", bc.ScreenPixelsHeight.ToString());
                Add("Browser.ScreenPixelsWidth", bc.ScreenPixelsWidth.ToString());
                Add("Browser.SupportsAccesskeyAttribute", bc.SupportsAccesskeyAttribute.ToString());
                Add("Browser.SupportsBodyColor", bc.SupportsBodyColor.ToString());
                Add("Browser.SupportsBold", bc.SupportsBold.ToString());
                Add("Browser.SupportsCacheControlMetaTag", bc.SupportsCacheControlMetaTag.ToString());
                Add("Browser.SupportsCallback", bc.SupportsCallback.ToString());
                Add("Browser.SupportsCss", bc.SupportsCss.ToString());
                Add("Browser.SupportsDivAlign", bc.SupportsDivAlign.ToString());
                Add("Browser.SupportsDivNoWrap", bc.SupportsDivNoWrap.ToString());
                Add("Browser.SupportsEmptyStringInCookieValue", bc.SupportsEmptyStringInCookieValue.ToString());
                Add("Browser.SupportsFontColor", bc.SupportsFontColor.ToString());
                Add("Browser.SupportsFontName", bc.SupportsFontName.ToString());
                Add("Browser.SupportsFontSize", bc.SupportsFontSize.ToString());
                Add("Browser.SupportsImageSubmit", bc.SupportsImageSubmit.ToString());
                Add("Browser.SupportsIModeSymbols", bc.SupportsIModeSymbols.ToString());
                Add("Browser.SupportsInputIStyle", bc.SupportsInputIStyle.ToString());
                Add("Browser.SupportsInputMode", bc.SupportsInputMode.ToString());
                Add("Browser.SupportsItalic", bc.SupportsItalic.ToString());
                Add("Browser.SupportsJPhoneMultiMediaAttributes", bc.SupportsJPhoneMultiMediaAttributes.ToString());
                Add("Browser.SupportsJPhoneSymbols", bc.SupportsJPhoneSymbols.ToString());
                Add("Browser.SupportsQueryStringInFormAction", bc.SupportsQueryStringInFormAction.ToString());
                Add("Browser.SupportsRedirectWithCookie", bc.SupportsRedirectWithCookie.ToString());
                Add("Browser.SupportsSelectMultiple", bc.SupportsSelectMultiple.ToString());
                Add("Browser.SupportsUncheck", bc.SupportsUncheck.ToString());
                Add("Browser.SupportsXmlHttp", bc.SupportsXmlHttp.ToString());
                Add("Browser.Tables", bc.Tables.ToString());
                // Add("Browser.TagWriter", bc.TagWriter.ToString());
                Add("Browser.Type", bc.Type.ToString());
                Add("Browser.UseOptimizedCacheKey", bc.UseOptimizedCacheKey.ToString());
                Add("Browser.VBScript", bc.VBScript.ToString());
                Add("Browser.Version", bc.Version.ToString());
                Add("Browser.W3CDomVersion", bc.W3CDomVersion.ToString());
                Add("Browser.Win16", bc.Win16.ToString());
                Add("Browser.Win32", bc.Win32.ToString());
            }
        }
    }
}